#ifndef MEDIA_DEVICES_WIN32DEVICEMANAGER_H_
#define MEDIA_DEVICES_WIN32DEVICEMANAGER_H_

#include <string>
#include <vector>

#include "base/sigslot.h"
#include "base/stringencode.h"
#include "media/devicemanager.h"

namespace cricket {

	class Win32DeviceManager : public DeviceManager {
	public:
		Win32DeviceManager();
		virtual ~Win32DeviceManager();

		// Initialization
		virtual bool Init();
		virtual void Terminate();

		virtual bool GetVideoCaptureDevices(std::vector<Device>* devs);

	private:
		virtual bool GetAudioDevices(bool input, std::vector<Device>* devs);
		virtual bool GetDefaultVideoCaptureDevice(Device* device);

		bool need_couninitialize_;
	};

}  // namespace cricket

#endif  // MEDIA_DEVICES_WIN32DEVICEMANAGER_H_